1. Field of the Invention
The present invention relates generally to three-dimensional (3D) modeling, and in particular, to a method, system, apparatus, and article of manufacture for reconstructing a pipeline in a 3D computer-aided design (CAD) modeling system.
2. Description of the Related Art
(Note: This application references a number of different publications as indicated throughout the specification by the first author and year of publication enclosed in brackets, e.g., [x]. A list of these different publications ordered according to these author and year of publications can be found below in the section entitled “References.” Each of these publications is incorporated by reference herein.)
Complex industrial environments are often modeled in a CAD system both during the creation and the maintenance of such an environment. However, industrial facilities are often very dynamic environments, where constant changes are required to improve health and safety, to increase efficiency, and to reduce hazardous emissions in accordance with the environmental regulations [Tahir 2005]. As a result, a big gap exists between the documented model and the as-built situation. It is not cost-effective and practical to update these models at the end of construction or after each and every change. The situation is even worse for old sites, as most of them were initially designed using old two-dimensional (2D) CAD techniques and there is no 3D model available. Consequently, up-to-date as-built 3D information is required in both cases when new changes are planned.
To model an industrial environment, 3D scanners (e.g., laser scanning) are often used to obtain a set of vertices in a 3D coordinate system (referred to as a point cloud). Recent advances in 3D scanning technologies have made the fast acquisition of dense and accurate point cloud data possible with moderate costs. The use of a laser scanner for 3D reality capture has grown considerably in the last few years, especially for industrial reconstruction applications. To convert point cloud data into CAD models, modeling is a necessary step because it can provide better accuracy and make the resulting models fit well with following engineering workflow.
The modeling of complex industrial environments is a difficult task for engineers in various domains such as oil industries, plant industrial, and transport industries. For pipeline extraction, most of the commercial systems require time-consuming and skillful manual data analysis to segment the original data at an object level. In addition, customers have many expectations for 3D object recognition systems including [Bosche 2008]:                Accuracy: Correctly extract 3D objects from the point cloud data;        Efficiency: The speed of 3D object extraction;        Robustness: The performance of the system. There are always partial or significant occlusions in the scan data. A robust system should be able to handle the occlusions; and        Level of automation: Users will be satisfied if the system could be less manually intensive.        
When designing an industrial installation, construction engineers often make use of a library of standardized CAD components. Such a library may contain straight pipes, elbows and T-junctions. Traditionally, pipes can be reconstructed from point cloud data by selecting and connecting the appropriate components from the library. However, such a manual selection process is time-intensive and inefficient. Accordingly what is needed is the capability to automatically detect shapes and obtain a complete pipeline based on point cloud data without requiring manual selection from a library. To better understand the invention, a further description of related works is beneficial.
In [Lee et al. 2000], a pipe surface is defined by a spine curve and a constant radius of a sweep sphere. In Lee, a point cloud is reduced to a thin curve-like point set by using shrinking and moving least square methods. The curve like point set is then approximated with a spine curve. To apply Lee's approach, the point set of the pipe surface is segmented from the massive point cloud in advance. The resultant pipe surface is a curved swept surface, which does not meet the actual configuration of pipes in the industrial plants.
[David & Thomas 2004] proposed techniques to recognize various pipes and pipe features from depth images, and then obtained pipe layout information. David & Thomas identified cylinders by the principle curvatures and directions of the points. The principle direction whose corresponding curvature is zero is regarded as the orientation of the cylinder. The reciprocal of the non-zero curvature is the negative radius of the cylinder. However, David & Thomas' method does not work well in a crowded plant environment.
As described above, when designing an industrial installation, construction engineers often make use of a library of standardized CAD components; such a library may contain straight pipes, elbows and T-junctions. Traditionally, pipes can be reconstructed from point cloud data by selecting and connecting the appropriate components from the library. To make this process more automated, the primitive shapes may be automatically detected from the point cloud data instead of manually selecting such shapes from the library. Automatic shape detection has been proposed in [Schnabel 2007]. However, Ruwen failed to discuss how to check and correct the primitive shapes to obtain a complete pipeline.
[Rodrigo et al. 2008] retrieved the geometric primitives from a tessellated database instead of from point cloud data directly. Rodrigo's algorithm starts by using segmentation and then classifies the segmented surface into cylinders, cones, torus, or some other shape. The surface parameters are then found to correctly fit the input data. The ability to organize geometric primitives is not explored in Rodrigo's work.
[Bosche 2003] also aimed to generate primitive-based as-built modeling in construction; however, the primitive shapes are acquired by human-assisted sparse range points collection and then fitting to sparse range points. This process is dynamic and involves extensive human intervention, and the fitting result is not satisfactory. Bosche also proposed to reconstruct 3D CAD model objects by recognizing the objects from site range images and then converting the object surface into a tessellation of triangles (STL surface). Such representation does not contain semantic information such as the center line of the pipeline. As a result, the as-built parameters had to be calculated further based on the poses of the mesh vertices. Such an approach is not acceptable for actual field implementation.
[Tahir 2005] proposed to fit a pipeline to the point cloud by CSG fitting with enforced internal constraints on the cylinder components after the components are extracted individually. This fitting approach should be combined with a database of CSG models to be used for object recognition in point clouds.
CLOUDWORX™ produced by Leica can also extract a pipeline semi-automatically. It requires the user to snap to a node on the center line of the pipe run to serve as seeds to guide the generation of a pipe run. Once a point cloud is loaded and opened, the program calculates the center and diameter of a pipe run by selecting one point on the surface of the pipe cylinder. Once all parameters are set, the user can accurately place piping components using point cloud data in the model.